<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        // 【注意】setter和getter是一种概念，不是语法。比如我们可以编写getters 来返回想要的内容，而不是直接返回对象的属性。

        // 当我们想要访问 user 对象的 age 属性的时候只需要 user.age 就可以访问，如果没有该属性则返回 undefined。
        // 注意对象还有 setters 和 getters 的概念。我们可以编写 getters 来返回想要的内容，而不是直接返回对象的属性。
        // setters 和 getters
        const user = {
            firstName: "sky",
            lastName: "moon",

            get fullName() {
                return this.firstName + this.lastName;
            },
            set age(age) {
                this._age = +age;
            },
            get age() {
                return this._age;
            }
        };
        console.log(user.fullName);
        user.firstName = "fly";
        console.log(user.fullName);
        user.age = "29";
        console.log(user.age);
    </script>
</body>

</html>